home *** CD-ROM | disk | FTP | other *** search
/ PC World 2006 July & August / PCWorld_2006-07-08_cd.bin / komunikace / apache / apache_2[1].2.2-win32-x86-no_ssl.msi / Data1.cab / _4032AD5DBD819204E61DECA0AF3E6F45 < prev    next >
Text File  |  2006-04-21  |  6KB  |  149 lines

  1. /* Copyright 1999-2005 The Apache Software Foundation or its licensors, as
  2.  * applicable.
  3.  *
  4.  * Licensed under the Apache License, Version 2.0 (the "License");
  5.  * you may not use this file except in compliance with the License.
  6.  * You may obtain a copy of the License at
  7.  *
  8.  *     http://www.apache.org/licenses/LICENSE-2.0
  9.  *
  10.  * Unless required by applicable law or agreed to in writing, software
  11.  * distributed under the License is distributed on an "AS IS" BASIS,
  12.  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  13.  * See the License for the specific language governing permissions and
  14.  * limitations under the License.
  15.  */
  16.  
  17. /**
  18.  * @file  util_script.h
  19.  * @brief Apache script tools
  20.  *
  21.  * @defgroup APACHE_CORE_SCRIPT Script Tools
  22.  * @ingroup  APACHE_CORE
  23.  * @{
  24.  */
  25.  
  26. #ifndef APACHE_UTIL_SCRIPT_H
  27. #define APACHE_UTIL_SCRIPT_H
  28.  
  29. #include "apr_buckets.h"
  30.  
  31. #ifdef __cplusplus
  32. extern "C" {
  33. #endif
  34.  
  35. #ifndef APACHE_ARG_MAX
  36. #ifdef _POSIX_ARG_MAX
  37. #define APACHE_ARG_MAX _POSIX_ARG_MAX
  38. #else
  39. #define APACHE_ARG_MAX 512
  40. #endif
  41. #endif
  42.  
  43. /**
  44.  * Create an environment variable out of an Apache table of key-value pairs
  45.  * @param p pool to allocate out of
  46.  * @param t Apache table of key-value pairs
  47.  * @return An array containing the same key-value pairs suitable for
  48.  *         use with an exec call.
  49.  * @deffunc char **ap_create_environment(apr_pool_t *p, apr_table_t *t)
  50.  */
  51. AP_DECLARE(char **) ap_create_environment(apr_pool_t *p, apr_table_t *t);
  52.  
  53. /**
  54.  * This "cute" little function comes about because the path info on
  55.  * filenames and URLs aren't always the same. So we take the two,
  56.  * and find as much of the two that match as possible.
  57.  * @param uri The uri we are currently parsing
  58.  * @param path_info The current path info
  59.  * @return The length of the path info
  60.  * @deffunc int ap_find_path_info(const char *uri, const char *path_info)
  61.  */
  62. AP_DECLARE(int) ap_find_path_info(const char *uri, const char *path_info);
  63.  
  64. /**
  65.  * Add CGI environment variables required by HTTP/1.1 to the request's 
  66.  * environment table
  67.  * @param r the current request
  68.  * @deffunc void ap_add_cgi_vars(request_rec *r)
  69.  */
  70. AP_DECLARE(void) ap_add_cgi_vars(request_rec *r);
  71.  
  72. /**
  73.  * Add common CGI environment variables to the requests environment table
  74.  * @param r The current request
  75.  * @deffunc void ap_add_common_vars(request_rec *r)
  76.  */
  77. AP_DECLARE(void) ap_add_common_vars(request_rec *r);
  78.  
  79. /**
  80.  * Read headers output from a script, ensuring that the output is valid.  If
  81.  * the output is valid, then the headers are added to the headers out of the
  82.  * current request
  83.  * @param r The current request
  84.  * @param f The file to read from
  85.  * @param buffer Empty when calling the function.  On output, if there was an
  86.  *               error, the string that cause the error is stored here. 
  87.  * @return HTTP_OK on success, HTTP_INTERNAL_SERVER_ERROR otherwise
  88.  * @deffunc int ap_scan_script_header_err(request_rec *r, apr_file_t *f, char *buffer)
  89.  */ 
  90. AP_DECLARE(int) ap_scan_script_header_err(request_rec *r, apr_file_t *f, char *buffer);
  91.  
  92. /**
  93.  * Read headers output from a script, ensuring that the output is valid.  If
  94.  * the output is valid, then the headers are added to the headers out of the
  95.  * current request
  96.  * @param r The current request
  97.  * @param bb The brigade from which to read
  98.  * @param buffer Empty when calling the function.  On output, if there was an
  99.  *               error, the string that cause the error is stored here. 
  100.  * @return HTTP_OK on success, HTTP_INTERNAL_SERVER_ERROR otherwise
  101.  * @deffunc int ap_scan_script_header_err_brigade(request_rec *r, apr_bucket_brigade *bb, char *buffer)
  102.  */ 
  103. AP_DECLARE(int) ap_scan_script_header_err_brigade(request_rec *r,
  104.                                                   apr_bucket_brigade *bb,
  105.                                                   char *buffer);
  106.  
  107. /**
  108.  * Read headers strings from a script, ensuring that the output is valid.  If
  109.  * the output is valid, then the headers are added to the headers out of the
  110.  * current request
  111.  * @param r The current request
  112.  * @param buffer Empty when calling the function.  On output, if there was an
  113.  *               error, the string that cause the error is stored here. 
  114.  * @param termch Pointer to the last character parsed.
  115.  * @param termarg Pointer to an int to capture the last argument parsed.
  116.  * @param args   String arguments to parse consecutively for headers, 
  117.  *               a NULL argument terminates the list.
  118.  * @return HTTP_OK on success, HTTP_INTERNAL_SERVER_ERROR otherwise
  119.  * @deffunc int ap_scan_script_header_err_core(request_rec *r, char *buffer, int (*getsfunc)(char *, int, void *), void *getsfunc_data)
  120.  */ 
  121. AP_DECLARE_NONSTD(int) ap_scan_script_header_err_strs(request_rec *r, 
  122.                                                       char *buffer, 
  123.                                                       const char **termch,
  124.                                                       int *termarg, ...);
  125.  
  126. /**
  127.  * Read headers output from a script, ensuring that the output is valid.  If
  128.  * the output is valid, then the headers are added to the headers out of the
  129.  * current request
  130.  * @param r The current request
  131.  * @param buffer Empty when calling the function.  On output, if there was an
  132.  *               error, the string that cause the error is stored here. 
  133.  * @param getsfunc Function to read the headers from.  This function should
  134.                    act like gets()
  135.  * @param getsfunc_data The place to read from
  136.  * @return HTTP_OK on success, HTTP_INTERNAL_SERVER_ERROR otherwise
  137.  * @deffunc int ap_scan_script_header_err_core(request_rec *r, char *buffer, int (*getsfunc)(char *, int, void *), void *getsfunc_data)
  138.  */ 
  139. AP_DECLARE(int) ap_scan_script_header_err_core(request_rec *r, char *buffer,
  140.                        int (*getsfunc) (char *, int, void *),
  141.                        void *getsfunc_data);
  142.  
  143. #ifdef __cplusplus
  144. }
  145. #endif
  146.  
  147. #endif    /* !APACHE_UTIL_SCRIPT_H */
  148. /** @} */
  149.